home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Amiga Amateur Radio User Group / AARUG UK #01 (1989-10)(Amiga Amateur Radio User Group UK)(PD)[m].zip / AARUG UK #01 (1989-10)(Amiga Amateur Radio User Group UK)(PD)[m].adf / NoVirus.DOC / NoVirus.DOC
Text File  |  1993-12-02  |  21KB  |  406 lines

  1.            NOVIRUS  V1.56   Dated 19th January 1989
  2.  
  3.                           BY NIC WILSON
  4.  
  5. THIS VERSION OF NOVIRUS SUPERCEDES ALL OTHER VERSIONS.
  6.  
  7. SEE THE END OF THIS FILE FOR UPDATE REPORT & BUG UPDATE
  8.  
  9. 1. SYNTAX...This has changed, since version 1.30 & earlier.
  10.             All you who are using NoVirus in a batch file (eg startup-
  11.             sequence) must change this to the new syntax as shown below.
  12.             Make sure you read the new syntax.
  13.  
  14. NEW SYNTAX.  NoVirus <switch> <drive>
  15.  
  16. Where <switch> N or n is an optional switch that makes the program
  17.                operate in Non-Recursive mode (eg. Startup-sequences,
  18.                or to check a single disk only).
  19.  
  20. or             I or i is an optional switch that will iconify the
  21.                program immediately after loading.  It will open a
  22.                small window on the dragbar. The program will then
  23.                sleep until selected or closed.  See ICONIFY below on
  24.                how to Un-iconify the program.  At the present time
  25.                if using this switch, you must execute the program with
  26.                RunBack (eg. RunBack -0 NoVirus i ). This must be done
  27.                as the program will not allow the CLI window to close.
  28.                RunBack overcomes this problem. RunBack can be found
  29.                on Fish Disk #65, or on the Toowoomba Amiga User Group
  30.                Newsletter Disk #3. I hope in the future to change this
  31.                so that RunBack is not required.
  32.                If you really cannot find a copy of RUNBACK then
  33.                use the following command instead.  It is rather cumbersome
  34.                but will work.
  35.                Run >nil: <nil: NoVirus >nil: <nil: i
  36.  
  37.                NOTE:- Only one switch is allowed, either n or i but not both.
  38.  
  39.       <drive>  is only valid if you have the above n or N switch.  It allows
  40.                you to choose a drive to check in non-recursive mode.
  41.                Drive choice in recursive mode is done inside the program.
  42.                It must be a valid Amiga device. (eg. DF0: - DF3:).
  43.  
  44. NO SWITCHES..  If no switches are given the program will load, open a
  45.                custom screen & window and default to recursive mode. Drive
  46.                choice is made within the program, so you do not need to
  47.                supply the drive from the command line.
  48.  
  49.                NoVirus can also be started from WorkBench simply by
  50.                double clicking its icon.
  51.  
  52.  
  53. 2. VIRUSES... The program now recognises a few new viruses:-  SCA,
  54.               DASA(BYTE WARRIOR), BYTE BANDIT, NORTHSTAR, and MICROSYSTEMS,
  55.               REVENGE1.2, LSD, AEK , HCS. See the end of this file for a
  56.               update on virus additions to the programs.
  57.               NoVirus analyses the disk, scanning for new viruses,  YES,
  58.               NEW VIRUSES and reports anything that it finds.
  59.               This routine does work as Revenge, lsd and aek were all found
  60.               by this routine and passed on to me by various users.
  61.  
  62.  
  63. 3. MEMORY...  NoVirus now removes all the above, and other new viruses
  64.               from memory and tells you which one was in memory.  This is
  65.               done as soon as it is loaded, before any other operations.
  66.  
  67. 4. MENUS...   NoVirus has menus available from the second mouse button.
  68.               These menus allow various functions, explained elsewhere in
  69.               this document.
  70.  
  71. 5. GADGETS... Drives are chosen from within the program.  All drives
  72.               that are not available will be ghosted, and cannot be selected.
  73.               You can change drives at any time, simply by clicking on the
  74.               drive gadget.  The selected drive show an alternate gadget
  75.               image with a disk in and the drive LED on.  Clicking the same
  76.               drive again will re-log the disk in that drive.
  77.  
  78.  
  79. 6. INSTALL..  You can install disks by clicking the install gadget.
  80.               The disk in the current logged drive will be installed.
  81.               The code written out is a standard boot block as the DOS
  82.               INSTALL command would write.
  83.  
  84. 7. NOTSYS...  Modifies a bootblock to remove FastRam.  It wedges code into
  85.               the boot block.  It WILL WORK ON SPECIAL BOOT BLOCKS!!!.  So
  86.               programs like Archon, ArchonII, Skyfox, Obliterator etc
  87.               can all be NOTSYSed without worry of destroying them. I do
  88.               suggest though that the original boot block be saved first.
  89.               This can be saved with the gadget GRAB explained elsewhere in
  90.               this document.
  91.  
  92. 8. SYSNOT...  This function is similar to install in that it makes a disk
  93.               bootable.  It has one big difference though, it removes FastRam
  94.               and all external drives at boot time.  So you no longer have
  95.               to remove or turn your drives off, simply SYSNOT them.
  96.   ------------------------------------------------------------------------
  97.   DO NOT USE SYSNOT ON SPECIAL BOOT BLOCKS OR THEY WILL NO LONGER FUNCTION
  98.   ------------------------------------------------------------------------
  99.  
  100. 9. GRAB...    This function only applies to versions 1.42 and later.  It
  101.               allows you to save a boot block from any disk to a file, for
  102.               later restoration incase of destruction by viruses etc.  To
  103.               use, first choose a drive by clicking its gadget in the normal
  104.               way.  This is the drive that the boot block will be loaded
  105.               from, so be sure that the disk you wish to GRAB the boot block
  106.               from is in that drive.  Then click the GRAB gadget.  A window
  107.               will open prompting you for a filename.  This filename can
  108.               be anything of your choice,  I normally use the diskname, so
  109.               it is easy to remember.  This filename must be a full path
  110.               name of where you would like the file stored.  Any standard
  111.               device can be chosen with only two exceptions, one, you may not
  112.               choose the same drive that you will be loading the boot block
  113.               from.  Any attempt to do so will result in an error message.
  114.               Two, you may not use volume names in place of floppy drives,
  115.               volume names are only allowed for non floppy drives, eg hard
  116.               disks, ramdisks etc.
  117.               Single drive users can use ramdisk.  The program will default
  118.               to this if only one drive is detected.  When the string gadget
  119.               window opens, 'ram:' will have been inserted for you.  If this
  120.               is not satisfactory (eg. single drive but a hard disk) you can
  121.               delete 'ram:' with the backspace key.  (The ram: default will
  122.               only occur in versions 1.45 and later).
  123.               Keep a disk aside to save all of your GRABbed boot blocks on
  124.               to and use that disk only.  Example filenames are shown below
  125.               EXAMPLE:- df1:bootblocks/mydisk.block
  126.                         dh0:mydisk.block
  127.                         ram:mydisk.block
  128.                         mydisk:mydisk.block (mydisk: cannot be a floppy)
  129.               NOTE:- If you are using a directory name as in the first
  130.                      example, that directory must already exist, else an
  131.                      error message will result.
  132.  
  133. 10. RESTORE.  This function only applies to versions 1.42 and later.  It is
  134.               the reverse of GRAB, in that it loads a given filename and
  135.               restores it on the disk as a boot block.  Use of this function
  136.               is very similar to GRAB.  Choose a drive first by clicking on
  137.               its gadget.  This drive will be used to restore the boot block
  138.               A window will open prompting you for a file.
  139.               This file must be given a full path. (See GRAB.).  The
  140.               filename is the name of the file you wish to restore on the
  141.               disk.  It must be a valid boot block saved by GRAB or another
  142.               similar program.  The RESTORE routine does not check or repair
  143.               the checksum, so if the disk was not bootable when GRABbed it
  144.               still will be non-bootable when RESTOREd.  For an example of
  145.               the filename see GRAB.
  146. -----------------
  147.   OTHER FEATURES
  148. -----------------
  149. NoVirus will recognise THE GUARDIAN in memory.  However it does
  150. not remove it.  It only notifies you of its presence.
  151.  
  152. The Boot Block Analyse routine does not take for granted that a disk
  153. is bootable.  It checksums the boot block and if invalid reports
  154. that the disk is not bootable.  There is one exception to this rule.  If
  155. a virus is on the boot block it reports the virus whether the checksum is
  156. correct or not.  This was done as invalid checksums can be corrected.
  157.  
  158. ---------
  159.   MENUS
  160. ---------
  161.  
  162. MENUS HAVE BEEN ADDED TO THE PROGRAM, & THESE MENUS INCLUDE :-
  163.  
  164. HELP        -  Brief help on most of the functions and gadgets.
  165.  
  166. ABOUT       -  Info about the program and our phone number, etc.
  167.  
  168. DOSENABLE   -  The program now inhibits DOS for all drives available.
  169.                This overcomes the problem where, if a new drive is selected,
  170.                and the previous drive still has  a non-dos disk in it,
  171.                older versions allowed DOS to see the disk, forcing a
  172.                system requester telling you it isn't a dos disk.  With DOS
  173.                inhibited for all drives, this does not happen, but another
  174.                problem eveloves, Inhibiting stops any other tasks from
  175.                being able to use the drives. This has been overcome by adding
  176.                a DosEnable menu function. This menu allows you to Enable DOS
  177.                for one or more drives by clicking on the sub-menu for the
  178.                drive.  Each drive that you select will have a "tick" mark
  179.                appear beside the name, reminding you that it is enabled for
  180.                DOS.  You can singly select a drive or multiple select by
  181.                holding the right mouse button down and clicking on each
  182.                sub-menu you require with the left button. The drives will
  183.                stay DosEnabled until you click on the sub-menu in the menu
  184.                again.  Once this is done the "tick" will disappear showing
  185.                you it is once again DosInhibited.
  186.                NOTE that any drives that are not available will be ghosted
  187.                in the sub-menu and cannot be selected.
  188.  
  189. ICONIFY     -  You no longer have to keep loading the program when you
  190.                want to use it.  You can ICONIFY it by selecting this menu
  191.                option.  Once selected the Custom Screen & Window will be
  192.                closed and all excess memory freed.  The program will open a
  193.                very small window on the title bar & will de-select itself.
  194.                It will remain asleep in the background until needed.  To
  195.                re-enable it simply select the small window by clicking on
  196.                it with the left mouse then click on it again with the right
  197.                mouse button.  Once re-enabled it will re-open the screen
  198.                and windows.  When ICONIFIED the small window can be
  199.                dragged around and placed anywhere you wish as it will not
  200.                re-enable till it receives the right mouse click.  The small
  201.                window also has a CloseGadget on it so you can completely
  202.                shut the program down without having to go back inside it.
  203.                In ICONIFY mode it is only using about 36k of memory so it
  204.                should not interfere with other uses of the machine. You can
  205.                also iconify the program on loading also, see SYNTAX above
  206.                on how to do this.
  207.  
  208. ANALYSE     -  This menu option displays info about certain boot blocks.
  209.                It analyses the boot block of the currently selected drive,
  210.                looking for certain codes that are peculiar to viruses.  If
  211.                any are found they will be displayed on the screen as their
  212.                actual function.  This allows you to check that, if the
  213.                program states it has found a SCA virus, you can check to
  214.                see if it is doing anything different to a Standard SCA
  215.                virus.  This allows you to identify hacked versions of known
  216.                viruses.  In order to do this, you must elect to leave the
  217.                virus alone in the GURU box, then select ANALYSE.  When you
  218.                are satisfied, click the drive gadget again to go back to the
  219.                GURU box to kill it, or select INSTALL or SYSNOT to destroy it.
  220.                NEVER SELECT NOTSYS to kill a virus AS IT WONT.  NOTSYS does
  221.                not destroy any boot block, It patches itself in and allows
  222.                the boot block to operate normally.  If ANALYSE decides the
  223.                boot block is O.K., then nothing is displayed and the program
  224.                waits for the next disk.  This function was mainly added for
  225.                my own use, and is not normally used or required.
  226.  
  227.                I have noticed that a few disks, mainly those with hack
  228.                screens in the boot block, seem to pass parameters in the
  229.                Capture Vectors for their own protection schemes.  NoVirus
  230.                will report them as a suspected new virus.  If you are
  231.                unsure about any disk then contact me at the address or
  232.                phone below or send me a copy of the disk or boot block.
  233.  
  234. REPAIR         This function only applies to versions 1.45 and later.
  235.                How often have you had an annoying  NOT A DOS DISK error.
  236.                These errors are sometimes quite frequent and can be difficult
  237.                for the inexperienced user to overcome.  To use this function
  238.                click a drive gadget in the normal way.  Then place the disk
  239.                to be repaired in that drive, NoVirus will respond by checking
  240.                the disk, and then may supply one two errors, NOT A DOS DISK
  241.                or Error Reading Disk and will prompt you to select REPAIR.
  242.                This function will check the disk and either repair it fully
  243.                or recover it so it is a valid DOS DISK, This will allow
  244.                you to recover the files.  The error status will tell you
  245.                wether it was successfully repaired or only recovered.  The
  246.                success of the function depends on wether only the bootblock
  247.                is damaged or the whole of track zero is damaged.  If it is
  248.                only the bootblock that is damaged this function replaces it.
  249.                If the whole track is corrupt, the track is formatted then a
  250.                bootblock written. Any file on the disk that used these blocks
  251.                will now be unrecoverable. When reading these files DOS will
  252.                report that the disk has a READ/WRITE error. If this happens
  253.                delete that file and copy all other files to a freshly
  254.                formatted disk.
  255.                This function does not prompt you before writing to the disk,
  256.                so do not select this function unless NoVirus reports one of
  257.                the above error messages.
  258.  
  259. VIEWBOOT       This function allows you to view the ascii of any boot block.
  260.                To use it, select the drive gadget in the normal way, if you
  261.                are given messages about new viruses etc. click through them
  262.                until the program is asking you to insert the next disk.  At
  263.                this time select viewboot from the menus.  A 'GURU' box will
  264.                open displaying the bootblock in an ascii form.  From this
  265.                window you are able the leave it as is by clicking the left
  266.                mouse button or elect to install the disk by clicking the
  267.                right mouse button.  If you elect to install you will be
  268.                prompted a second time to make sure.
  269.  
  270.  
  271. QUIT        -  Another way out of the program.
  272.  
  273.  
  274.  
  275. ------------------------------------------
  276.  R E C E N T  B U G S   &   U P D A T E S
  277. ------------------------------------------
  278.  
  279. A NOTE ON VERSION NUMBERS
  280. -------------------------
  281.  
  282. Version numbers are only incremented when a copy of the program has been
  283. given to someone.  This way I can keep a track of who has which version.
  284. This list shows all additions and modifications to NoVirus in order of
  285. version number.  If you find a bug please let me know!!!
  286.  
  287. ------
  288.  1.50
  289. ------
  290.  
  291. 1. Mutual Exclusion added to the drive gadgets.  You may have noticed that
  292.    in earlier versions, when a drive gadget was selected a momentary second
  293.    image was displayed.  This second image displayed a disk in the drive and
  294.    the drive light aglow.  The original meaning for this, was that I meant
  295.    for the gadgets to be TOGGLESELECT and Mutually Exclude each other.  Then
  296.    I found out that the current versions of Intuition (including 1.3) don't
  297.    support Mutual Exclusion for gadgets, it is only supported in Menus.
  298.    We have now written our own Mutual Exclusion routine and it has now been
  299.    added to NoVirus.  For the inexperienced this means that when a gadget
  300.    is selected other drive gadgets will be automatically de-selected.  This
  301.    gives you a visual indication of the current drive in use.  This new
  302.    function was added in version 1.50
  303.  
  304. ------
  305.  1.51
  306. ------
  307.  
  308. 1.  Major change to the Assembly of the program.  I am no longer using ASM68k
  309.     public domain assembler.  I am no using Devpac Amiga V2.08.  This
  310.     assembler is much better, it is around 10-15 times faster to assemble and
  311.     has some functions that ASM68k lacked.  It is now much easier to debug as
  312.     symbol info is included in the executable.  NoVirus source code has been
  313.     modified to suit this assembler and V1.51 has been assembled with it.
  314.  
  315. 2.  A bug in the RESTORE function has been fixed.  If the source device was
  316.     a hard drive etc. (not a floppy) then the block would not be written to
  317.     the disk.  Also if the source device was a floppy and the block written
  318.     then when the close gadget was clicked to exit the program, the program
  319.     would hang up.  Both these bugs have been fixed in V1.51
  320.  
  321. ------
  322.  1.52
  323. ------
  324.  
  325. 1.  A new virus has surfaced under the disguise of an antivirus.  It is
  326.     known as HCS virus.  This version has been updated to include all
  327.     necessary checks and cures.
  328.  
  329. 2.  A bug in the Non-Recursive mode has been fixed.  If a virus was found
  330.     you would receive a visit from the GURU after the first alert window.
  331.     This was due to NoVirus trying to activate a non-existent window.  This
  332.     would have crept in a few versions ago. This bug was fixed in V1.52
  333.  
  334. 3.  A bug in the iconify routine has been fixed.  If the program was
  335.     launched from workbench and then iconified, if from this point the
  336.     close gadget was clicked you would have recieved a visit from the GURU.
  337.     This has been fixed in V1.52
  338.  
  339. ------
  340.  1.53
  341. ------
  342.  
  343. 1.  An addition has been made to the virus checking routine.  P. Tritscher
  344.     sent me a disk that NoVirus saw as a possible virus.  It turned out to
  345.     be a safe intro bootblock.  NoVirus now sees this bootblock as O.K. and
  346.     a message to that effect is displayed if this bootblock is read.
  347.     This was added in V1.53.  THANX PETER!!!
  348.  
  349. 2.  A bug crept into the help routine.  Since I converted NoVirus to
  350.     assemble under Devpac the help routine chopped three characters off
  351.     every line. This has been fixed in V1.53
  352.  
  353. 3.  In Versions 1.51 & 1.52 I found that after NOTSYS was used, the
  354.     bootblock caused the Amiga to crash,  this was because DevPac was
  355.     not assembling the NOTSYS code properly.  I changed the code to
  356.     satisfy DevPac so it now works fine.  This mod was done in V1.53
  357.  
  358. ------
  359.  1.54
  360. -----
  361. 1.  I also found that Devpac was not assembling SYSNOT properly, so it
  362.     has been totally rewritten and its version number incremented to
  363.     V1.3.  From time to time as you find older versions on your disks,
  364.     update them with this version.
  365.  
  366. ------
  367.  1.55
  368. ------
  369.  
  370. 1. Viewboot added to the menus.  This was added to the large number of
  371.    letters and phone calls I have received requesting it.  To use it see
  372.    the explanation in MENUS above.
  373.  
  374. 2. The analyse routine has had improvements made to speed it up.
  375.  
  376.  
  377. ------
  378.  1.56
  379. ------
  380.  
  381. 1. A new virus has been added.  It is known as the VKILL 1.0 virus.
  382.    It operates via the COOL CAPTURE and patches itself into the PUTMSG
  383.    function in ExecBase by calling SetFunction.  NoVirus recognises it
  384.    and removes it from memory and from disk.  The virus pretends to be
  385.    an anti-virus but it is definately much more than that!!!
  386.  
  387. 2. Additions to the Analyse New Virus Code routine.  The older code
  388.    could under some circumstances, not find some viruses.  The routine
  389.    is now much more thorough.
  390.  
  391.  
  392. NIC WILSON
  393. 159 RAMSAY STREET
  394. TOOWOOMBA QUEENSLAND
  395. AUSTRALIA
  396. PHONE (076) 359221
  397.       (076) 358539
  398.       (076) 358522
  399.  
  400.  
  401. HAVE FUN!!!!!!!
  402.  
  403. NIC WILSON
  404. PRESIDENT
  405. TOOWOOMBA AMIGA USER GROUP
  406.